package org.apache.lucene.ocean;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import org.apache.lucene.ocean.util.Util;

public class Indexes {
  private Map<IndexID,Index> indexMap = new HashMap<IndexID,Index>();
  
  public IndexID getMaxId(String type) {
    List<IndexID> list = new ArrayList<IndexID>();
    for (IndexID indexId : indexMap.keySet()) {
      if (indexId.type.equals(type)) {
        list.add(indexId);
      }
    }
    if (list.size() == 0) return null;
    return Util.max(list);
  }
  
  public List<Index> getIndexes() {
    return new ArrayList(indexMap.values());
  }
  
  public Indexes() {
  }

  public Index get(IndexID indexId) {
    return indexMap.get(indexId);
  }

  public void add(Index index) {
    indexMap.put(index.getId(), index);
  }
}
